﻿<Application x:Class="PTCScheduler.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
        <!--Apply Custom Style to Menu Items for easier navigations.-->
        <Style x:Key="MenuItemStyle" TargetType="MenuItem">
            <Setter Property="Margin" Value="8"/>
            <Setter Property="FontFamily" Value="Arial"/>
            <Setter Property="FontSize" Value="18"/>
        </Style>
        
        <!--Apply style to submenu items.-->
        <Style x:Key="SubMenuItemStyle" TargetType="MenuItem">
            <Setter Property="FontFamily" Value="Arial"/>
            <Setter Property="FontSize" Value="14"/>
            <Setter Property="Background" Value="#FF2D9DCF"/>
            <Setter Property="Foreground" Value="White"/>
            <Setter Property="FontWeight" Value="Bold"/>
            <!--Style trigger to change the color of highlighted menu item to enhance readability.-->
            <Style.Triggers>
                <Trigger Property="MenuItem.IsHighlighted" Value="true">
                    <Setter Property="MenuItem.Foreground" Value="Black" />
                    <Setter Property="MenuItem.FontSize" Value="16"/>
                    <Setter Property="MenuItem.Background" Value="#422D9DCF"/>
                </Trigger>
            </Style.Triggers>
        </Style>
        
        <!--Apply Custom Style to labels for uniform look.-->
        <Style x:Key="LabelStyle" TargetType="Label">
            <Setter Property="HorizontalAlignment" Value="Left"/>
            <Setter Property="Margin" Value="6,6,0,0"/>
            <Setter Property="VerticalAlignment" Value="Top"/>
            <Setter Property="FontFamily" Value="Arial"/>
            <Setter Property="FontWeight" Value="Bold"/>
            <Setter Property="FontSize" Value="14"/>
        </Style>
        
        <!--Apply consistent size to pages.-->
        <Style x:Key="PageSize" TargetType="Page">
            <Setter Property="Height" Value="480"/>
            <Setter Property="Width" Value="771"/>
        </Style>
        
        <!--Textblock style for instructions.-->
        <Style x:Key="InstructionsStyle" TargetType="TextBlock">
            <Setter Property="Padding" Value="6"/>
            <Setter Property="FontFamily" Value="Arial"/>
            <Setter Property="FontSize" Value="14"/>
        </Style>
        <!--Apply style to pages for consistent look.-->
        <Style x:Key="PageStyle" TargetType="Grid">
            <Setter Property="Background" Value="#422D9DCF"/>
        </Style>
        
        <!--Apply style to buttons for consistent look.-->
        <Style x:Key="ButtonStyle" TargetType="Button">
            <!--Button dimensions.-->
            <Setter Property="Height" Value="38"/>
            <Setter Property="Width"  Value="96"/>
            <!--Button family properties.-->
            <Setter Property="FontFamily" Value="Arial"/>
            <Setter Property="FontWeight" Value="Bold"/>
            <Setter Property="FontSize" Value="14"/>
            <!--Button background.-->
            <Setter Property="Background" Value="#FF2D9DCF"/>
            <!--Font color.-->
            <Setter Property="Foreground" Value="White"/>
            <!--Button Border properties.-->
            <Setter Property="BorderBrush" Value="White"/>
            <Setter Property="BorderThickness" Value="2"/>
            <!--Focusable property-->
            <Setter Property="Focusable" Value="False"/>
        </Style>
        
        <!--Apply style to datagrid for consistent look.-->
        <Style x:Key="DataGridViewStyle" TargetType="DataGrid">
            <!--Background-->
            <Setter Property="Background" Value="White"/>
            <Setter Property="AlternatingRowBackground" Value="#422D9DCF"/>
            <!--Outline-->
            <Setter Property="HorizontalGridLinesBrush" Value="#FF2D9DCF"/>
            <Setter Property="VerticalGridLinesBrush" Value="#FF2D9DCF" />
            <Setter Property="GridLinesVisibility" Value="All"/>
            <!--Alternate colors on rows for better visibility.-->
            <Setter Property="AlternationCount" Value="1"/>
            <!--Change selection mode to single row.-->
            <Setter Property="SelectionMode" Value="Single"/>
            <!--Read only datagridview-->
            <Setter Property="IsReadOnly" Value="True"/>
            <!--Make stretch when maximized.-->
            <Setter Property="HorizontalAlignment" Value="Stretch"/>
            <Setter Property="Width" Value="Auto"/>
            <!--Font family-->
            <Setter Property="FontFamily" Value="Arial"/>
            <Setter Property="FontSize" Value="12"/>
            <!--Selection Mode-->
            <Setter Property="SelectionMode" Value="Extended"/>
            <!--Set header style of datagridview.-->
            <Style.Resources>
                <Style TargetType="{x:Type DataGridColumnHeader}">
                    <Setter Property="Background" Value="#FF2D9DCF"/>
                    <Setter Property="Foreground" Value="White"/>
                    <Setter Property="BorderBrush" Value="White"/>
                    <Setter Property="BorderThickness" Value="0,0,1,0"/>
                    <Setter Property="FontFamily" Value="Arial"/>
                    <Setter Property="FontSize" Value="14"/>
                    <Setter Property="FontWeight" Value="Bold"/>
                </Style>
            </Style.Resources>
        </Style>
        
        <!--Style to enlarge the date picker calendar tool in update conference page.-->
        <Style x:Key="styleCalendar" TargetType="{x:Type Calendar}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Calendar}">
                        <!-- Wrapping in ViewBox will enlarge calendar of that size.-->
                        <Viewbox Height="250"
                         Width="250">
                            <CalendarItem x:Name="PART_CalendarItem"
                                  Background="{TemplateBinding Background}"
                                  BorderBrush="{TemplateBinding BorderBrush}"
                                  BorderThickness="{TemplateBinding BorderThickness}"/>
                        </Viewbox>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style><!--End Style-->
    </Application.Resources>
</Application>
